FIG. 1 illustrates a conventional carry look-ahead (CLA) adder 10 for adding two binary numbers A and B on buses 12 and 14. The CLA adder 10 consists of a carry tree portion 16 and a summer portion 18. The CLA portion 16 generates carry bits for the various bit positions in parallel and supplies them to a summer for each bit position. This summer for each bit position then generates a sum bit S.sub.i for the two binary numbers A.sub.i and B.sub.i, for the bit position i, in accordance with the below equation, where C.sub.i-1 is the carry bit from the next lower significant bit position. EQU S.sub.i =(A.sub.i XORB.sub.i)XOR C.sub.i-1 Eq. 1
A CLA adder is very fast because carries of lower significant bit positions and carries of more significant bit positions are generated in parallel.
The output from the summer portion 18 is the sum of the numbers A and B plus a carry bit. This sum is then output on bus 20.
In certain applications, the sum of A plus B must be incremented by one for rounding off or for other uses in a floating point arithmetic operation well known to those skilled in the art. The generation of the sum plus 1 value is conventionally obtained by transferring the resulting sum on bus 20 to bus 12 and placing the number 1 on bus 14. These two numbers are then added using adder 10 to generate the sum plus 1 value. Accordingly, the generation of the sum plus 1 takes approximately twice as long as generating the sum itself.
What is needed is a faster technique to generate a sum and the sum plus 1.